#!/usr/bin/env python
# -*- coding: utf-8 -*-

# @Time     :2020/12/12
# @Author   :Changshu
# @File     :Exercise_566.py

# 566. 重塑矩阵
# 在MATLAB中，有一个非常有用的函数 reshape，它可以将一个矩阵重塑为另一个大小不同的新矩阵，但保留其原始数据。

class Solution:
	def matrixReshape(self, nums: list, r: int, c: int) -> list:
		if nums==[]:
			return []
		m=len(nums)
		n=len(nums[0])
		# if nums[0] is list:
		# 	n=len(nums[0])
		if m*n!=r*c:
			return nums
		res=[]
		for i in range(r):
			t=[]
			for j in range(c):
				s=i*c+j
				t.append(nums[s//n][s%n])
			res.append(t)
		return res


if __name__ == '__main__':
	solution=Solution()
	nums=[[1,2],[3,4]]
	print(solution.matrixReshape(nums,1,4))